The present invention relates generally to data communications devices and more specifically to the generation of configuration files for data communications devices.
TFTP (xe2x80x9cTrivial File Transfer Protocolxe2x80x9d) is a file transfer protocol implemented on top of the Internet User Datagram protocol (UDP or Datagram). It may be used to copy files between machines on different networks implementing UDP. TFTP is designed to be small and easy to implement. Therefore, it lacks most of the features of a regular FTP. The only thing it can do is read and write files from and to a remote server. It cannot list directories, and has no provisions for user authentication. In common with other Internet protocols, it passes 8 bit bytes of data.
The TFTP header of a packet contains the opcode associated with that packet.
An RRQ packet, as depicted above, would contain an opcode of I and a nullterminated Filename and Mode.
DOCSIS (xe2x80x9cData Over Cable Service Interface Specificationxe2x80x9d) defines technical specifications for equipment at both a subscriber""s premises and cable operator headends. A headend is a central distribution point for a coaxial or fiber cable-based transmission system. Signals are received from satellite or other sources, frequencies are converted to appropriate channels, possibly combined with locally originated signals and then rebroadcast to cable subscriber equipment (i.e., cable modems). A cable modem (xe2x80x9cCMxe2x80x9d) provides access to a network by way of a coaxial connection. Cable modems generally provide faster access than conventional telephone line or ISDN modems.
DHCP (xe2x80x9cDynamic Host Configuration Protocolxe2x80x9d) is a network application protocol that assigns a temporary IP address to a network device automatically when the network device connects to the network.
LDAP (Lightweight Directory Access Protocolxe2x80x9d) is a network application protocol (designed to work on TCP/IP stacks) used to read and write information from a data store. LDAP is a xe2x80x9clightweightxe2x80x9d version of the X.500 specification, it gives client applications the ability to store and retrieve network configuration information, such as a user name, e-mail address, security certificate, or other contact information.
IEEE has developed a set of standards to define methods of access and control on local area networks. The IEEE 802 standards correspond to the physical and data-link layers of the ISO Open Systems Interconnection model, but they divide the data-link layer into two sublayers. The logical link control (LLC) sublayer applies to all IEEE 802 standards and covers station-to-station connections, generation of message frames, and error control. The media access control (MAC) sublayer, dealing with network access and collision detection, differs from one IEEE 802 standard to another: IEEE 802.3 is used for bus networks that use CSMA/CD, both broadband and baseband, and the baseband version is based on the Ethernet standard. IEEE 802.4 is used for bus networks that use token passing, and IEEE 802.5 is used for ring networks that use token passing (token ring networks). In addition, IEEE 802.6 is an emerging standard for metropolitan area networks, which transmit data, voice, and video over distances of more than five kilometers.
CMTS (xe2x80x9cCable Modem Termination Servicexe2x80x9d) is a headend device than can act as a cable modem router.
Typically, a computer network providing cable modem access is configured with a host computer connected to a cable modem either directly or through an Ethernet connection. The cable modem is ultimately connected to a CMTS, the CMTS provides access to other networks (e.g., the Internet) and servers (e.g., TFTP, LDAP, DHCP) attached to the networks.
Cable modems are configured using DOCSIS compliant files typically transferred from a TFTP server. These configuration files are binary files, consisting of a sequence of 8-bit data, as distinguished from files consisting of human-readable ASCII text. Binary files are usually in a form readable only by a program, often compressed or structured in a way that is easy for a particular program to read.
Managing the DOCSIS compliant configuration files for the many cable modems served by a TFTP server requires a large amount of overhead, both in time and space. The process of updating configuration files as network topology changes is prone to errors due to the large number of cable modems and therefore configuration files that may have to be changed. Additionally, business decisions regarding the various service levels to provide cable modem subscribers are hampered by the complexity and overhead associated with configuration file changes.
Accordingly, a technique is needed to provide improved configuration file management. The present invention provides a method of generating a binary configuration file by receiving an identification encoded filename, parsing the identification encoded filename to determine identification parameters, matching the identification parameters to a set of configuration policy data to create configuration file parameters, and generating the binary configuration file from the configuration file parameters. The identification encoded filename can be can be run through an authentication check to provide increased security. Once created, the binary configuration file can also be validated, providing increased integrity.
In one aspect of the present invention the method is run on a TFTP server. In another aspect of the invention the method involves querying an LDAP server for certain configuration policy data, the configuration policy data being optionally cached on the TFTP server. The resulting configuration can be generated according to the DOCSIS configuration file standard, including removing non-version applicable DOCSIS configuration file parameters when generating the binary configuration file.
The present invention can also be used to generate an annotated configuration file from the configuration file parameters, the annotated configuration file being viewable through a user interface.
In one embodiment the present invention is implemented as a sequence of computer program instructions, these instructions may exist on any computer readable medium, including an electromagnetic wave.
The present invention provides the advantages of allowing for more effective broadband provisioning through better configuration file management as well as allowing for the creation of more flexible subscriber service plans.